#include<iostream>
using namespace std;
typedef struct LNode{
	int x;
	struct LNode *next;
}LNode,*LinkList;
LinkList t[10000];
void initList(LinkList &L,int i);
void move(int n,LinkList &L,int m);
void print(LinkList L);
int main(){
	int n,m,b,c,i;
	cin>>n>>m;
	LinkList a[n];
	for(i=0;i<n;++i) initList(a[i],i);
	while(m--){
		cin>>b>>c;
		move(b-1,a[c-1],c-1);
	}
	for(i=0;i<n;++i)
		print(a[i]);
	return 0;
}
void initList(LinkList &L,int i){
	L=new LNode;
	LinkList p=new LNode;
	L->next=p;
	p->x=i+1;
	p->next=NULL;
	t[i]=p;
}
void move(int n,LinkList &L,int m){
	if(n==m) return;
	t[n]->next=L->next;
	L->next=NULL;
	t[n]=t[m];
}
void print(LinkList L){
	LinkList p=L;
	while(p->next){
		p=p->next;
		cout<<p->x<<" ";
	}
	cout<<endl;
}